約 839,118 件
https://w.atwiki.jp/kurowal/pages/28.html
SQL関連のブックマーク SQL覚え書き接続関連 SQL文関連 ダンプ関連 UNDO関連 仕様文字コード関連 SQL関連のブックマーク SQL -TECHSCORE- SQLの基本操作を調べれる SHIFT the Oracle Oracle関数を調べれる Oracle エラー Oracoleのエラーコードから原因と対策を調べられる DB接続エラー DB接続エラー時の対処方法、原因切り分けを説明 SQL覚え書き 接続関連 研究室内データベース接続 psql -U dbuser -h a2 Bugzilla -U ユーザ -h ホスト名 テーブルを見る \d この後にテーブル名を書くと列名が見れる SQL文関連 LIKE演算子 列名 LIKE パターン (_)アンダースコア・・・1文字に該当 (%)パーセント・・・0文字を含む任意文字列 同値削除 SELECT DISTINCT(列名) 列名内で同じものが出て来ると一つしか表示しない 該当行数 SELECT COUNT(列名) WHERE後に書いた条件に合う行数が出力される 昇順に並べ替え ORDER BY 列名 ASC(DESC) 他テーブルの同じ名前の列の値を同じ値のは1つずつ表示 select user_id from tb_st_coop_log union select user_id from tb_st_coop_control order by user_id(ソートは全体にかかる) カタカナ&英字全角→半角処理(Oracle) UTL_I18N.TRANSLITERATE(TO_SINGLE_BYTE(列名), FWKATAKANA_HWKATAKANA ) ダンプ関連 エクスポート(ユーザ下全エクスポート) exp ユーザ名/パスワード file=出力ファイル名 owner=ユーザ名 インポート(ユーザ下全インポート) imp ユーザ名/パスワード file=入力ファイル名 ignore=y full=y ignore・オブジェクト存在時上書き full・ダンプファイル全体 ※注意 インポート前にインポートするテーブルが既に存在する場合は 内容は上書きされないので、上書きしたい場合は事前にtruncate tableしておく dump取得(オブジェクトブラウザの場合) テーブルを選択し、エクスポート(インデックス等も出力する場合はオプションで選択) 移動先に同テーブル名がある場合はドロップ(バックアップテーブル取得をお勧め) 管理→インポート(ユーザ名・テーブル名入力) データパンプのエクスポート expdp スキーマ/パスワード directory=ディレクトリオブジェクト tables=スキーマ.テーブル file=出力ファイル query=\"where 条件文 \" CONTENT=data_only データパンプのインポート impdp スキーマ/パスワード directory=ディレクトリオブジェクト dumpfile=ダンプファイル tables=スキーマ.テーブル logfile=EXPDP.LOG content=data_only テーブル単位、データのみインポート UNDO関連 UNDO使用率確認用 select 1使用率 as UNDO使用状態 ,round( ( ( UNDO容量KB - ( sum(bytes) / 1024 ) ) / UNDO容量KB) * 100, 2) as bytes from dba_free_space where tablespace_name = UNDOTBS1 union select 2アクティブ ,round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes from dba_undo_extents where tablespace_name = UNDOTBS1 and status in ( ACTIVE ) union select 3UNEX ,round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes from dba_undo_extents where tablespace_name = UNDOTBS1 and status in ( UNEXPIRED ) union select 4EX準備中 ,round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes from dba_undo_extents where tablespace_name = UNDOTBS1 and status in ( EXPIRED ) UNDO使用率確認用 select status, sum(bytes/1024/1024) as Mbytes from dba_undo_extents where tablespace_name = UNDOTBS1 group by status union select FREE ,sum(bytes/1024/1024) as Mbytes from dba_free_space where tablespace_name = UNDOTBS1 FREE 空き領域 EXPIRED 使用可能 ACTIVE UNEXPIRED 使用中 アーカイブ領域確認用 select name,type,state,total_mb,free_mb from sys.V_$ASM_DISKGROUP 仕様文字コード関連 仕様文字コード確認用 SELECT NLS_CHARSET_NAME(NLS_CHARSET_ID( CHAR_CS )), NLS_CHARSET_NAME(NLS_CHARSET_ID( NCHAR_CS )) FROM DUAL SHIFT the Oracle マルチバイト oracleでの文字コードを調べれる
https://w.atwiki.jp/dellkeitai/pages/21.html
▼テーブルの変更 MySQL alter table テーブル名 CHANGE 古いカラム名 新しいカラム名 型情報 ; ▼SQL Server時間単位で解析 select day(update_date), DATEPART (hour,update_date), count(*) from event_log group by day(update_date),DATEPART (hour,update_date) order by 1,2 ▼MySQL 3→12 SQL show processlist; SQL show full processlist; ▼Oracle 設定の確認 select name, type, value from V$SYSTEM_PARAMETER where name = processes or name= sessions ユーザ名は大文字 select count(*) as SESSION_CNT from v$session where username = ユーザ名 ; ▼SQL Server select * from sys.dm_exec_sessions where login_name= ユーザ名 ; チューニング SQLServer キャッシュを削除 DBCC FREEPROCCACHE DBCC DROPCLEANBUFFERS http //msdn.microsoft.com/ja-jp/library/ms174283.aspx http //msdn.microsoft.com/ja-jp/library/ms187762.aspx GROUP BYした結果の件数の取得方法 ID 日付 データ 1 1/1 AAA 2 1/1 BBB 3 1/2 CCC これを日付でグループ化すると 1/1 2 1/2 1 になる。 この種類の数を知りたい場合は select count(distinct(日付)) from でOK。 項目が複数ある場合 CREATE TABLE TEST_CNT( VAR1 varchar(10) PRIMARY KEY, VAR2 varchar(10), VAR3 varchar(10)); INSERT INTO TEST_CNT VALUES ( 1 , A1 , B1 ); INSERT INTO TEST_CNT VALUES ( 2 , A1 , B1 ); INSERT INTO TEST_CNT VALUES ( 3 , A1 , B2 ); INSERT INTO TEST_CNT VALUES ( 4 , A1 , B2 ); INSERT INTO TEST_CNT VALUES ( 5 , A2 , B1 ); INSERT INTO TEST_CNT VALUES ( 6 , A2 , B1 ); INSERT INTO TEST_CNT VALUES ( 7 , A2 , B2 ); INSERT INTO TEST_CNT VALUES ( 8 , A2 , B2 ); SELECT VAR2,VAR3 FROM TEST_CNT GROUP BY VAR2,VAR3; ●MySQL SELECT COUNT(DISTINCT VAR2, VAR3) FROM TEST_CNT; ●Oracle SELECT COUNT(DISTINCT VAR2 || VAR3) FROM TEST_CNT; ●SQL Server SELECT COUNT(DISTINCT VAR2 + VAR3) FROM TEST_CNT; ●共通 SELECT COUNT(*) FROM (SELECT COUNT(*) AS CNT FROM TEST_CNT GROUP BY VAR2,VAR3) TEST_CNT; ※「SELECT COUNT(*) AS CNT」にする必要がある。「 AS CNT」が無いとSQL Serverでエラーになる。(Oracle,MySQLはOK) ※最後のに「TEST_CNT」を追加する必要がある。追加しない場合は、MySQL,SQL Serverでエラーになる。(OracleはOK) 最後のに「AS TEST_CNT」を追加するとOracleでエラーになるので、「AS」は不要。 ★第二弾フラグあり CREATE TABLE TEST_CNT2( VAR1 varchar(10) PRIMARY KEY, VAR2 varchar(10), VAR3 varchar(10), FLG varchar(1)); INSERT INTO TEST_CNT2 VALUES ( 1 , A1 , B1 , 0 ); INSERT INTO TEST_CNT2 VALUES ( 2 , A1 , B1 , 0 ); INSERT INTO TEST_CNT2 VALUES ( 3 , A1 , B2 , 1 ); INSERT INTO TEST_CNT2 VALUES ( 4 , A1 , B2 , 1 ); INSERT INTO TEST_CNT2 VALUES ( 5 , A2 , B1 , 1 ); INSERT INTO TEST_CNT2 VALUES ( 6 , A2 , B1 , 0 ); INSERT INTO TEST_CNT2 VALUES ( 7 , A2 , B2 , 0 ); INSERT INTO TEST_CNT2 VALUES ( 8 , A2 , B2 , 1 ); SELECT VAR2,VAR3 FROM TEST_CNT2 WHERE FLG = 1 GROUP BY VAR2,VAR3; SELECT COUNT(*) FROM (SELECT COUNT(*) AS CNT FROM TEST_CNT2 WHERE FLG= 1 GROUP BY VAR2,VAR3) TEST_CNT; INSERT/UPDATE MySQL 「on duplicate key update」 create table a1 ( id int primary key, memo1 varchar(10), memo2 varchar(10)) insert into a1 values (1, c , C ) on duplicate key update memo1 = c , memo2= C SQL Server UPSERT MERGE merge into a1 using (select 4 as id1) as a2 on a1.id1 = a2.id1 when matched then update set memo2= d , memo3= D when not matched then insert values (4, d , D );
https://w.atwiki.jp/mathmania/pages/14.html
SQL文とは? http //www.rfs.jp/sb/sql/01/02.html
https://w.atwiki.jp/kurimaru/pages/8.html
SQL SQL 標準と各RDBの対応状況 PatternMatch
https://w.atwiki.jp/funf/pages/19.html
外部リンク AccessDBStudio SQL講座 内部 その他に重要なこと 演算,比較? 演算子や比較について DML SELECT データの検索 INSERT 行の挿入 UPDATE 行の更新 DELETE 行の削除 TRUNCATE すべての行の削除 MERGE? 行のマージ DDL CREATE? 表の作成 ALTE? 表の変更 DROP 表の削除 RENAME? 表名の変更 DCL GRANT? 権限の付与 REVOKE? 権限の削除 トランザクション COMMIT? 更新の確定 ROLLBACK? 更新の取り消し SAVEPOINT? セーブポイントの作成 関数 Oracle Oracleの関数 postger SQL? postgerの関数 MySQL? MySQLの関数
https://w.atwiki.jp/maichi/pages/12.html
SQLを作成し、l2jdb(データベース)を更新しよう!! 用語 用語 例 意味 SQL エスキューエル armor.sqlなど テーブルを作成したり、削除したり、追加したり、変更したり、見たりするための命令言語 Database データベース l2jdbなど ひとつの目的のもとで、たくさんのデータを集めた「かたまり」 table テーブル(表) armor,etcitemなど データを格納するための器(うつわ)、データベースは、いくつかのテーブルで構成されます Field フィールド(項目) item_id,accesslevelなど テーブルを構成する各要素のこと ひとつのテーブルは、いくつかのフィールドで構成されます Primary Key 主キー id,item_idなど テーブル中のたくさんのデータの中から、1つのデータを限定できる項目(または、項目の組合せ)の 代表(だから"主"キー) NULL ヌル default NULLなど [0]とも[空白]とも異なり、項目に値がまったく入っていない状態、反対語 = NOT NULL … なんらかの値が入っている状態。 税金にアイテムの価格変更の記載があります。 .
https://w.atwiki.jp/eroscape_bibouroku/pages/160.html
SQLサンプル ユーザーSQLに登録するまでもないような小物SQL置き場 SQL実行フォーム で使用する場合は、冒頭のSELECTは省略してください ご案内 コメントが「SELECT」で始まっている時、SQL実行フォームへPOSTするボタンを自動生成するようにしました。他のページでも使いたい場合は、#include(【管理用】PostSQL)とページの最後に追記してください。 ここは「SELECT」で始まっていないので、ボタンができない -ゲーム関連 ゲーム関連 発売一ヶ月以内のゲームリスト SELECT game_id, gamename, brandname, sellday, median, average, stddev, count FROM toukei_temp_table WHERE sellday BETWEEN CURRENT_DATE - CAST( 1 months AS interval) AND CURRENT_DATE 批評空間全体のプレイ済み統計 SELECT AVG(tokuten), STDDEV(tokuten), COUNT(uid) FROM userreview WHERE play 批評空間全体のゲーム中央値の統計 SELECT AVG(median), STDDEV(median), COUNT(median) FROM toukei_temp_table ○○さんがプレイしたゲームの一覧と、ゲーム中央値との比較 SELECT ttt.game_id, ttt.gamename, ttt.median, ur.tokuten, ur.tokuten - ttt.median AS compare, ur.hitokoto FROM userreview AS ur, toukei_temp_table AS ttt WHERE ur.game = ttt.game_id AND ur.play AND ur.uid = ○○ ゲームID○○の長文感想のrefererをドメイン別にカウント SELECT referer, count(*) from (select regexp_matches(referer, ^[https]+ //([0-9a-z.- ]+?) ?[0-9]*?/ ) as referer from userreview_display_log where game = ○○) as foo group by referer -ユーザー関連 ユーザー関連 沢山プレイしているユーザーTOP100 SELECT uid, COUNT(game) FROM userreview WHERE play GROUP BY uid ORDER BY COUNT DESC LIMIT 100 ○○さんをお気に入りなユーザー SELECT voter_uid FROM user_user WHERE uid = ○○ ○○さんが気に入らないユーザー SELECT voter_uid FROM user_dislike_user WHERE dislike_uid = ○○ 誰が積んでるか(最後の1を調べたいゲームIDに変更) SELECT uid FROM userreview WHERE possession AND NOT play AND game = 1 陵辱ゲーマー(総プレイ20本以上の内、5割以上が陵辱ゲー) SELECT uid, SUM(CASE WHEN axis_of_soft_or_hard = -1 THEN 1 ELSE 0 END) FROM userreview AS ur, gamelist AS gl WHERE ur.play AND ur.game = gl.id GROUP BY ur.uid HAVING SUM(CASE WHEN axis_of_soft_or_hard = -1 THEN 1 ELSE 0 END) * 1.0 / COUNT(game) = 0.5 AND COUNT(game) = 20 ORDER BY SUM DESC ユーザーSQLをお気に入りなユーザー(最後の1を調べたいSQLのIDに変更) SELECT * FROM usersql_touhyou WHERE id = 1 中央値ゲッター(データ20以上のゲームの中央値±1点の得点数ランキング 結果のperは中央値ゲット率) SELECT ur.uid, SUM(CASE WHEN ttt.count =20 AND ttt.median BETWEEN ur.tokuten - 1 AND ur.tokuten + 1 THEN 1 ELSE 0 END) AS count, ROUND(SUM(CASE WHEN ttt.median BETWEEN ur.tokuten - 1 AND ur.tokuten + 1 THEN 1 ELSE 0.0000000000001 END) * 100.0 / COUNT(ur.game) , 1) AS per FROM toukei_temp_table AS ttt, userreview AS ur WHERE ttt.game_id = ur.game and ttt.count = 20 AND ur.play GROUP BY ur.uid HAVING SUM(CASE WHEN ttt.median BETWEEN ur.tokuten - 1 AND ur.tokuten + 1 THEN 1 ELSE 0 END) = 10 ORDER BY count DESC LIMIT 100 間接人気度 SELECT rank() over (order by sum(count) desc) ,uu2.uid, sum(count) as point from (select uid, count(*) from user_user group by uid) as uu1 , user_user as uu2 where uu1.uid = uu2.voter_uid group by uu2.uid 被お気に入り10以上のユーザーさんデビュー年 SELECT to_char(foo.tourokubi, yyyy ) as debut_year, string_agg(foo.uid|| ( ||foo.count|| ) , , ) from (select uu.uid,uu.count,min(ur.play_tourokubi) as tourokubi from (select uid,count(voter_uid) from user_user group by uid having count(voter_uid) =10) as uu,userreview as ur where uu.uid=ur.uid group by uu.uid,uu.count) as foo group by to_char(foo.tourokubi, yyyy ) order by debut_year -POV・属性関連 POV・属性・タグ関連 POV登録数上位100名 SELECT uid, COUNT(pov) FROM povgroups GROUP BY uid ORDER BY COUNT(pov) DESC LIMIT 100 リニューアル作品のあるMS-DOSゲー(属性2種組み合わせ。44,98は属性のID) SELECT game_id, gamename, brandname, sellday, median, count FROM toukei_temp_table WHERE game_id IN (SELECT game FROM attributegroupsboolean WHERE attribute in (44,98) GROUP BY game HAVING COUNT(attribute) = 2) △△が含まれるPOVコメント一覧(正規表現) SELECT ttt.gamename, pl.system_title, pgs.rank, pgs.memo, pgs.uid, to_char(pgs.tourokubi, YYYY/MM/DD ) FROM povlist AS pl, povgroups AS pgs, toukei_temp_table AS ttt WHERE pl.id = pgs.pov AND pgs.game = ttt.game_id AND pgs.memo ~ △△ ORDER BY ttt.gamename LIMIT 200 タグの登録数をカウントするSQLサンプル -クリエイター関連 クリエイター関連 クリエイターの参加作品一覧(cl.idの1を調べたいクリエイターIDに変更) SELECT cl.name, ttt.game_id, ttt.gamename, ttt.brandname, ttt.sellday, ttt.median FROM createrlist AS cl, shokushu AS ss, toukei_temp_table AS ttt WHERE cl.id = ss.creater AND ss.game = ttt.game_id AND cl.id = 1 ORDER BY sellday DESC -SQL関連 SQL関連 クエリの実行結果を仕切り文字で連結する(ARRAY=配列化、ARRAY_TO_STRING=配列を連結) SELECT 2009/12/31発売のゲームは、『 || ARRAY_TO_STRING(ARRAY(SELECT gamename FROM gamelist WHERE sellday = CAST( 2009/12/31 AS date) ORDER BY furigana), 』 と 『 ) || 』です。 集約関数で配列を使う(ブランド名とカンマ区切りのゲームリストを出力)(ARRAY_AGG=集合を配列化) SELECT brandname, ARRAY_TO_STRING(ARRAY_AGG(gamename), , ) FROM toukei_temp_table GROUP BY brand_id, brandname LIMIT 50 HTMLを埋め込む(formの設置) SELECT CHR(60)|| form name= ||CHR(34)|| TestForm ||CHR(34)||CHR(62) || CHR(60)|| label ||CHR(62) || テスト ||CHR(60)|| input name= ||CHR(34)|| Test ||CHR(34)|| value= ||CHR(34)|| テスト ||CHR(34)|| / ||CHR(62) || CHR(60)|| /label ||CHR(62) ||CHR(60)|| /form ||CHR(62) javacsriptを埋め込む(Hello World!!) SELECT CHR(60)|| script type= ||CHR(34)|| text/javascript ||CHR(34)||CHR(62)|| str= ||CHR(34)|| World!! ||CHR(34)|| ; alert( ||CHR(34)|| Hello ||CHR(34)|| + str); ||CHR(60)|| /script ||CHR(62) 上位10位を抽出するサンプル(最近1ヶ月位内に発売されたゲームの得点上位10位までを抽出します) SELECT foo.id, foo.gamename, foo.tokuten, foo.rank FROM (SELECT gl.id, gl.gamename, ur.tokuten, RANK() OVER (PARTITION BY gl.id ORDER BY ur.tokuten DESC) FROM userreview AS ur, gamelist AS gl WHERE ur.game = gl.id AND ur.tokuten IS NOT NULL AND gl.sellday = CURRENT_DATE - 1 MONTH INTERVAL) AS foo WHERE rank = 10 【管理】POSTボタンを生成しました。
https://w.atwiki.jp/sevenlives/pages/61.html
SQL 読み:えすきゅーえる, しーくぇる 英語:Structured Query Language 意味: SQLとは現在、RDBMSで多くで使われる標準的な問い合わせ言語。 ANSI?やISOにも規格化されている。 決まった文法で様々な命令ができ、 「SELECT * FROM テーブル名;」 のように自然言語に近い感覚で様々な操作をすることができる。 2008年01月22日 データベース DML DDL DCL?
https://w.atwiki.jp/yama213/pages/15.html
sql
https://w.atwiki.jp/chiffon/pages/34.html
SQL